package cn.bonoon.kernel.web.annotations.grid;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * <pre>
 * 定义界面的标准操作按钮等，如：添加、修改、删除等
 * </pre>
 * @author jackson
 *
 */
@Target(METHOD)
@Retention(RUNTIME)
public @interface GridStandardDefinition {
	
	/**
	 * 定义在列上的操作按钮
	 * @return
	 */
	GridButton[] buttons() default {};
	
	/**
	 * 定义在toolbar上的按键
	 * @return
	 */
	GridToolbar[] toolbars() default {};
	
	/**
	 * “添加”功能的对象，用于生成界面和从界面取值并且保存到数据库
	 * @return
	 */
	Class<?> insertClass() default Object.class;
	
	Class<?> updateClass() default Object.class;
	
	Class<?> detailClass() default Object.class;
	
	int[] editStatus() default {};
	
	//是否允许删除操作，即显示删除按钮；包括每一列上的按钮及工具栏上的删除按钮
	boolean deleteOperation() default true;
	
	//自动解析操作按钮，包括：状态(禁止、恢复等)、移动等
	boolean autoOperation() default true;
	
	//删除和状态操作的按钮是否在工具栏上显示，默认为不显示
	boolean toolbarable() default false;
	
//	int dialogMaxHeight() default 480;
}
